package com.hdl.design.pattern.templeate;

/**
 * 类名 AbstractClass
 * 描述 抽象类，充当模板类
 *
 * @author hedonglin
 * @version 1.0
 * @date 2019/10/4 15:41
 */
public abstract class AbstractClass {
    /**
     * 方法描述: 模板方法，定义一个算法的骨架
     * @author hedonglin
     * @date 2019/10/4 15:50
     */
    public void templateMethod(){
        System.out.println("模板方法执行开始");
        primitiveOperation1();
        primitiveOperation2();
        System.out.println("模板方法执行结束");
    }

    /**
     * 方法描述: 需要子类实现的特定步骤1
     * @author hedonglin
     * @date 2019/10/4 15:50
    */
    public abstract void primitiveOperation1();
    /**
     * 方法描述: 需要子类实现的特定步骤2
     * @author hedonglin
     * @date 2019/10/4 15:50
     */
    public abstract void primitiveOperation2();
}
